home *** CD-ROM | disk | FTP | other *** search
- LU86.EXE MS-DOS VERSION 4.03 September 25, 1984
-
-
- NAME
-
- lu86 - create and maintain a Novosielski library file.
-
- SYNOPSIS
-
- | lu86 option lbr_file_name[.lbr] [ file ] ...
-
- DESCRIPTION
-
- Library Utility 86 (LU86) is a program to allow combining
- multilple files into one larger file. It requires PC or MS
- DOS version 2.0 or higher to run.
-
- Version 4.03 replaces all prior versions. The major re-
- visions are: the addition of the -s operator, the addition
- of CRC calculation and checking to improve reliability, the
- addition of member time and date stamping, and support for
- exact file lengths of library members. Error reporting and
- recovery have also been improved.
-
- The following options are recognized and supported:
-
- -l Display a directory list of the specified library. The
- redirection operator '>' can be used to create a file
- of the directory list.
-
- -t (Table) A synonym for -l: also produces a directory
- list.
-
- -a Extracts all files from the specified library file. If
- a time and date for a file was stored in the library
- directory, it is used to stamp the extracted file.
- This mechanism allows files to enter and leave a LU
- libarary file without losing their original time and
- date stamp.
-
- -e Extracts only specified file(s) from the library. Time
- and Date stamp comments given above in the '-a'
- description apply here as well.
-
- -u Add to or create a library file. An existing library
- will be updated with files from the command line file
- list. If the library does not exist, it will be
- created. Wildcards may be used when specifying the
- file list.
-
- When a file is added to a library, the DOS time and
- date file stamp is read and stored in the library
- directory. If a file to be added already exists in the
- library, LU86 will delete the existing libary member,
- and add the new file to the end of the library. In
- terms of directory usage and library space used, this
- is the same as adding a completely new member.
-
-
-
- -1-
-
-
-
-
-
- LU86.EXE MS-DOS VERSION 4.03 September 25, 1984
-
-
- Prior versions of 16-bit LU and LU86 would re-use
- deleted directory entries when performing an add/update
- operation. LU86 v4.x will not re-use deleted directory
- entries, and requires a reorganization to reclaim de-
- leted directory entries. This was done to provide an
- indication of unused space in the lbr file. If the -l
- or -t command shows deleted directory entries, then the
- lbr file contains unused 'lost' space.
-
- -d Delete a file from a library. This tags the specified
- member entrie(s) as deleted, and 'loses' the space that
- had been allocated for the deleted member(s).
-
- -r Reorganize the library file by creating a new file, and
- copying active members of the old library to it. Re-
- organization gets rid of unused space lost to delete
- and duplicate filename update operations.
-
- If you are dealing with a large library and are using
- floppies, you might not have room on the default disk
- to reorganize the library file. In this case, put the
- disk containing the existing lbr file you want to
- reorganize in one drive, and put a floppy disk with a
- lot of room and lu86.exe in another drive. For an
- example let us assume your lbr file is on B:
- (B:biglbr.lbr), and lu86 and room is on A:. Log in
- drive A: and reorgainze the library thusly:
- A>lu86 -r b:biglbr
- This will open biglbr.lbr on drive B:, and put the
- reorganized result on the default disk, in this case,
- drive A:.
-
- -s Stamp the DOS directory entry of the library file with
- with the time and date of the library directory stored
- internally in the file. This is useful for restoring
- the original date of a library file after doing a modem
- transfer.
-
- Whenever a new member is added to a library, a value called
- the CRC (Cyclic Redundancy Check) word is calculated and
- stored in the member's directory entry. When the member is
- extracted from the library, the calculation is done again,
- and compared with the saved value. If the two values do not
- match, it is an indication that the member was damaged in
- some way while it was in the library. The extract will still
- be performed, but a message warning that the extracted copy
- is questionable will be displayed.
-
- This feature is especially valuable for libraries which have
- been created on another system and transmitted by phone
- (possibly several times) before you receive them. It helps
- insure that the extracted files are faithful reproductions
- of the files originally inserted. Members added by LU86
- versions prior to 4.0 do not have CRC words. The CRC calcu-
- lation is supressed for earlier libraries.
-
-
- -2-
-
-
-
-
-
- LU86.EXE MS-DOS VERSION 4.03 September 25, 1984
-
-
-
- LIBRARY FORMAT
-
- The entire library file and each of its members are concep-
- tually organized into "sectors", each sector being 128 bytes
- long. (From CP/M, where LU originated). Each sector of the
- file belongs to at most one library member. Each member
- comprises a whole number of sectors. The last sector of a
- member may, however, be logically declared as a "Short
- Sector". Although it physically contains 128 bytes, a Short
- Sector contains one or more "pad" bytes at the end for the
- purpose of maintaining the structure of the library file as
- a whole. A member may have as few as 0 sectors.
-
- Members may be referred to by a name of up to 8 characters,
- and an extension of up to 3 characters. The naming rules
- are identical to those for the naming of CP/M-80 disk files.
- Members must be uniquely named; any given combination of
- name and extension may identify at most one member.
-
- The start and end points of each member are defined by the
- pointers in a "directory entry" for the member. There are
- no embedded start or end marks separating the members. All
- sectors between the start and end sectors of a member belong
- to that member. The members need not appear in the library
- in the same order that their directory entries appear in the
- directory.
-
- The directory information in an LU style library is con-
- tained in the same file as the data files, or members. The
- amount of space to be allocated to the directory must be
- specified by the user when a new library is created, but can
- be changed when the file is reorganized. The size of each
- LU directory entry is 32 bytes, which means each four direc-
- tory entries take up one 128-byte 'sector' of the library
- file. The LU directory uses one entry for control informa-
- tion itself, so the number of directory 'sectors' needed
- for a library of m members is (m + 1) / 4, rounded up to the
- next whole number.
-
- The user need not be concerned with this discussion, as
- directory size is calculated by the program. All directory
- sizes are input and output in terms of entries, each entry
- being a potential member file. The program adjusts directory
- size to an integral number of sectors.
-
- MISFEATURES (BUGS)
-
- Ideally, wildcards would work with the -l (or -t) -d and -e
- commands, but currently do not.
-
- Options may not be stacked or be specified more than one at
- a time. One execution of LU86, one option.
-
- Wildcard expansion of the -u input list is limited to 128
- filenames.
-
- -3-
-
-
-
-
-
- LU86.EXE MS-DOS VERSION 4.03 September 25, 1984
-
-
- Wildcard expansion is not supported for pathnames.
-
- ACKNOWLEDGEMENTS
-
- Gary Novosielski designed the LU format and wrote the first
- programs supporting 'LBR' files. He has continued to main-
- tain and improve the LU format by distributing a file of the
- offical LU format definition. The current version of this
- definition is contained in LUDEF5.DOC. Interested users are
- directed to that file for more complete information on the
- LU format.
-
- Large portions of this document are excerpts from the CP/M
- file LU300.DOC, which documents the operation of the CP/M
- version of LU (an implemenation much superior to LU86, by
- the way). Any particulary lucid and useful sections of this
- document probably originated with Gary Novosielski. The
- Turgid Obfuscation is probably mine.
-
- This program had its genesis in the UNIX progam LAR.C. LAR
- was rendered into C that mortal compilers could understand
- by Tom Jennings who renamed the source to LU.C. I used LU
- as a base and have renamed the effort to LU86.
-
- LU86, ver 4.x is a 'C' program, and is compiled with version
- 2.10B of the Computer Innovations C86 MS-Dos compiler.
-
- This document replaces a document of the same name, dated
- | September 12, 1984. Changes are highlighed with a "|" in
- the left margin.
-
- CHANGE HISTORY
-
- Ver 4.0, September 3, 1984. Original release.
-
- Ver 4.01, September 10, 1984. Fixed add routines to exclude
- the directory portion of a pathname, retaining only the 11
- character file name for use in the LU directory.
-
- Ver 4.02, September 12, 1984. Fixed update function so that
- it distinguishes between not being able to find or read a
- file (in which case it creates a new directory), and reading
- a file which is not a library (in which case, it aborts).
- Prior to this fix, trying to update a file with a .lbr
- extension, which was not a Library, would destroy it.
-
- | Ver 4.03, September 25, 1984. Fixed bug that limited input
- | file list to 30 names. Now handles 128 names as advertised.
-
-
- Paul J. Homchick
- Chimitt Gilman Homchick, Inc.
- One Radnor Station, Suite 300
- Radnor, PA 19087
-
-
-
- -4-
-
-
-
-
-